home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / v cisle / flyakite / FlyakiteOSX v3.5.exe / $DESKTOP / FlyakiteOSX v3.5 Source / Installer.nsi < prev    next >
Text File  |  2006-02-25  |  60KB  |  1,234 lines

  1. #==========================================
  2. # COMPILE NEEDED TOOLS FIRST
  3. #==========================================
  4.     !execute '"${NSISDIR}\makensis.exe" "Batch Restore Script.nsi"'
  5.     !execute '"${NSISDIR}\makensis.exe" "Current User Settings.nsi"'
  6.     !execute '"${NSISDIR}\makensis.exe" "Force System File Update.nsi"'
  7.     !execute '"${NSISDIR}\makensis.exe" "Assets\Internal Scripts\ResHacker Script Creator.nsi"'
  8.     !execute '"${NSISDIR}\makensis.exe" "System Files Updater.nsi"'
  9.  
  10.     !execute '"ResHacker Script Creator.exe" /S'
  11.  
  12.  
  13.  
  14. #==========================================
  15. # COMPRESSION SETTINGS
  16. #==========================================
  17.     CRCCheck force
  18.     SetCompress off
  19.     SetCompressor /SOLID /FINAL lzma
  20.     SetCompressorDictSize 16
  21.  
  22.  
  23.  
  24. #==========================================
  25. # DEFINES
  26. #==========================================
  27.     !include "Defines.nsi"
  28.     !define USER "Richard Karlock"
  29.     !define PRODUCT_VERSION "v3.5"
  30.     !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  31.  
  32.     #CONDITIONAL DEFINES
  33.     !define UxThemePatcher
  34.     !define ExtractSource
  35.  
  36.  
  37.  
  38. #==========================================
  39. # INCLUDES
  40. #==========================================
  41.     !include "MUI.nsh"
  42.     !include "Sections.nsh"
  43.     !include "Get Parameters.nsi"
  44.     !addplugindir "Assets\Plugins"
  45.  
  46.  
  47.  
  48. #==========================================
  49. # INSTALLER INFORMATION
  50. #==========================================
  51.     Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  52.     OutFile "C:\Documents and Settings\${USER}\Desktop\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
  53.     InstallDir "${INST}"
  54.  
  55.  
  56.  
  57. #==========================================
  58. # VERSION INFORMATION
  59. #==========================================
  60.     VIAddVersionKey ProductName "${PRODUCT_NAME}"
  61.     VIAddVersionKey CompanyName "${PRODUCT_PUBLISHER}"
  62.     VIAddVersionKey LegalCopyright "${COPYRIGHT} ${PRODUCT_PUBLISHER}"
  63.     VIAddVersionKey FileDescription "Windows XP, 2003, MCE Transformation Pack"
  64.     VIAddVersionKey FileVersion "${PRODUCT_VERSION}"
  65.     VIAddVersionKey Website "${PRODUCT_WEB_SITE}"
  66.     VIProductVersion 3.0.0.0
  67.  
  68.  
  69.  
  70. #==========================================
  71. # CUSTOM VARIABLES
  72. #==========================================
  73.     Var AppDir
  74.     Var BootScreen
  75.     Var FileSize
  76.     Var GUID
  77.     Var IconSize
  78.     Var Office
  79.     Var WindowsDrive
  80.  
  81.  
  82.  
  83. #==========================================
  84. # INTERFACE SETTINGS
  85. #==========================================
  86.     BrandingText "${COPYRIGHT} ${PRODUCT_PUBLISHER}"
  87.     ShowInstDetails show
  88.     ShowUninstDetails show
  89.  
  90.     #INSTALLER
  91.     !define MUI_ICON "Assets\Images\Icons\Install.ico"
  92.     !define MUI_WELCOMEFINISHPAGE_BITMAP "Assets\Images\Wizards\Installer.bmp"
  93.     !define MUI_ABORTWARNING
  94.  
  95.     !define MUI_HEADERIMAGE
  96.     !define MUI_HEADERIMAGE_BITMAP "Assets\Images\Header.bmp"
  97.     !define MUI_UI_HEADERIMAGE "Assets\Dialogs\Modern Header Bitmap.exe"
  98.  
  99.     !define MUI_COMPONENTSPAGE_SMALLDESC
  100.     !define MUI_UI_COMPONENTSPAGE_SMALLDESC "Assets\Dialogs\Modern Small Desc.exe"
  101.     !define MUI_FINISHPAGE_NOAUTOCLOSE
  102.  
  103.     #UNINSTALLER
  104.     !define MUI_UNICON "Assets\Images\Icons\Uninstall.ico"
  105.     !define MUI_UNWELCOMEFINISHPAGE_BITMAP "Assets\Images\Wizards\Installer.bmp"
  106.     !define MUI_UNABORTWARNING
  107.     !define MUI_UNFINISHPAGE_NOAUTOCLOSE
  108.  
  109.  
  110.  
  111. #==========================================
  112. # PAGES - INSTALLER
  113. #==========================================
  114.     #WELCOME PAGE
  115.       !insertmacro MUI_PAGE_WELCOME
  116.     #LICENSE PAGE
  117.       !define MUI_LICENSEPAGE_CHECKBOX
  118.       !insertmacro MUI_PAGE_LICENSE "Assets\license.rtf"
  119.     #README PAGE
  120.       !define MUI_LICENSEPAGE_TEXT_TOP "Press Page Down to view the rest of the read me."
  121.       !define MUI_LICENSEPAGE_TEXT_BOTTOM "If you have read through the Read Me please click Next to continue."
  122.       !define MUI_LICENSEPAGE_BUTTON "Next >"
  123.       !insertmacro MUI_PAGE_LICENSE "Assets\readme.rtf"
  124.     #MAINTENANCE PAGE
  125.       Page custom Maintenance
  126.     #COMPONENTS PAGE
  127.       !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckForSelections
  128.       !insertmacro MUI_PAGE_COMPONENTS
  129.     #EXTRA OPTIONS PAGE
  130.           Page custom ExtraOptions
  131.     #INSTALL FILES PAGE
  132.       !insertmacro MUI_PAGE_INSTFILES
  133.     #FINISH PAGE
  134.       !insertmacro MUI_PAGE_FINISH
  135.  
  136.  
  137.  
  138. #==========================================
  139. # PAGES - UNINSTALLER
  140. #==========================================
  141.     #COMPONENTS PAGE
  142.       !define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.CheckForSelections
  143.       !insertmacro MUI_UNPAGE_COMPONENTS
  144.     #INSTALL FILES PAGE
  145.       !insertmacro MUI_UNPAGE_INSTFILES
  146.     #FINISH PAGE
  147.       !insertmacro MUI_UNPAGE_FINISH
  148.  
  149.  
  150.  
  151. #==========================================
  152. # LANGUAGES
  153. #==========================================
  154.     !insertmacro MUI_LANGUAGE "English"
  155.  
  156.  
  157.  
  158. #==========================================
  159. # RESERVE FILES
  160. #==========================================
  161.     !insertmacro MUI_RESERVEFILE_LANGDLL
  162.     ReserveFile "${NSISDIR}\Plugins\Banner.dll"
  163.     ReserveFile "${NSISDIR}\Plugins\System.dll"
  164.     ReserveFile "Maintenance.ini"
  165.     ReserveFile "Extra Options.ini"
  166.     ReserveFile "Assets\Images\Splash\*.*"
  167.     ReserveFile "Assets\Plugins\newadvsplash.dll"
  168.     ReserveFile "Assets\Images\Wizards\Installer.bmp"
  169.     ReserveFile "Assets\Images\Header.bmp"
  170.     ReserveFile "Assets\Images\Maintenance.bmp"
  171.     ReserveFile "Assets\Tools\System Files Updater.exe"
  172.  
  173.  
  174.  
  175. #==========================================
  176. # INSTALLER MACROS
  177. #==========================================
  178.     !macro InstallFile InstallerFolder FileName TargetFolder
  179.       !define UL ${__LINE__}
  180.  
  181.       #CHECK IF FILE EXISTS
  182.       IfFileExists "${TargetFolder}\${FileName}" 0 END_${UL}
  183.  
  184.       #DISPLAY CURRENTLY INSTALLING FILE
  185.       !insertmacro SetDetailsPrint "Modifying File: ${FileName}"
  186.  
  187.       #BACKUP FILE
  188.       IfFileExists "${INST_BACKUP}\${FileName}" +2
  189.       CopyFiles /SILENT "${TargetFolder}\${FileName}" "${INST_BACKUP}"
  190.  
  191.       #MODIFY FILE
  192.       CopyFiles /SILENT "${TargetFolder}\${FileName}" "${INST_TEMPFILES}"
  193.       SetOutPath "${INST_RESOURCES}"
  194.       StrCmp $IconSize "48x48" 0 +3
  195.       File /r "${InstallerFolder}\48x48\${FileName}"
  196.       Goto +2
  197.       File /r "${InstallerFolder}\128x128\${FileName}"
  198.       StrCpy "$OUTDIR" "${INST}"
  199.       ExecWait '"${INST_TOOLS}\ResHacker.exe" -script "${INST_RESOURCES}\${FileName}\${FileName}.txt"'
  200.       IfFileExists "${INST_NEWFILES}\${FileName}" +3
  201.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\FILES" "${FileName}"
  202.       Goto END_${UL}
  203.  
  204.       #WRITE FILE SIZE TO REGISTRY
  205.       Push "${INST_NEWFILES}\${FileName}"
  206.       Call GetFileSize
  207.       Pop $FileSize
  208.       WriteRegStr HKLM "Software\${PRODUCT_NAME}\FILES" "${FileName}" "$FileSize"
  209.  
  210.       #REPLACE FILE IN CACHE
  211.       IfFileExists "$SYSDIR\dllcache\${FileName}" 0 +2
  212.       CopyFiles /SILENT "${INST_NEWFILES}\${FileName}" "$SYSDIR\dllcache\${FileName}"
  213.       IfFileExists "$WINDIR\ServicePackFiles\i386\${FileName}" 0 +2
  214.       CopyFiles /SILENT "${INST_NEWFILES}\${FileName}" "$WINDIR\ServicePackFiles\i386\${FileName}"
  215.  
  216.       #REPLACE FILE IN TARGET FOLDER
  217.       Delete "${TargetFolder}\${FileName}.${PRODUCT_NAME}"
  218.       Rename "${INST_NEWFILES}\${FileName}" "${TargetFolder}\${FileName}.${PRODUCT_NAME}"
  219.       ExecCmd::exec '"${INST_TOOLS}\MoveEx.exe" "${TargetFolder}\${FileName}.${PRODUCT_NAME}" "${TargetFolder}\${FileName}"'
  220.  
  221.       SetRebootFlag true
  222.  
  223.       END_${UL}:
  224.       !undef UL
  225.     !macroend
  226.  
  227.  
  228.     !macro ComCtl32 InstallerFolder FileName TargetFolder Number
  229.       !define UL ${__LINE__}
  230.  
  231.       #CHECK IF FILE EXISTS
  232.       IfFileExists "${TargetFolder}\${FileName}" 0 END_${UL}
  233.  
  234.       #DISPLAY CURRENTLY INSTALLING FILE
  235.       !insertmacro SetDetailsPrint "Modifying File: ${FileName}${Number}"
  236.  
  237.       #BACKUP FILE
  238.       IfFileExists "${INST_BACKUP}\${FileName}${Number}" +2
  239.       CopyFiles /SILENT "${TargetFolder}\${FileName}" "${INST_BACKUP}\${FileName}${Number}"
  240.  
  241.       #MODIFY FILE
  242.       SetRebootFlag true
  243.       CopyFiles /SILENT "${TargetFolder}\${FileName}" "${INST_TEMPFILES}"
  244.       SetOutPath "${INST_RESOURCES}"
  245.       StrCmp $IconSize 48x48 0 +3
  246.       File /r "${InstallerFolder}\48x48\${FileName}"
  247.       Goto +2
  248.       File /r "${InstallerFolder}\128x128\${FileName}"
  249.       StrCpy "$OUTDIR" "${INST}"
  250.       ExecWait '"${INST_TOOLS}\ResHacker.exe" -script "${INST_RESOURCES}\${FileName}\${FileName}.txt"'
  251.       IfFileExists "${INST_NEWFILES}\${FileName}" +3
  252.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\FILES" "${FileName}${Number}"
  253.       Goto END_${UL}
  254.       Rename "${INST_NEWFILES}\${FileName}" "${INST_NEWFILES}\${FileName}${Number}"
  255.  
  256.       #WRITE FILE SIZE TO REGISTRY
  257.       Push "${INST_NEWFILES}\${FileName}${Number}"
  258.       Call GetFileSize
  259.       Pop $FileSize
  260.       WriteRegStr HKLM "Software\${PRODUCT_NAME}\FILES" "${FileName}${Number}" "$FileSize"
  261.  
  262.       #REPLACE FILE IN TARGET FOLDER
  263.       Delete "${TargetFolder}\${FileName}.${PRODUCT_NAME}"
  264.       Delete "${TargetFolder}\${FileName}.delete"
  265.       Rename "${TargetFolder}\${FileName}" "${TargetFolder}\${FileName}.delete"
  266.       Rename "${INST_NEWFILES}\${FileName}${Number}" "${TargetFolder}\${FileName}"
  267.  
  268.       END_${UL}:
  269.       !undef UL
  270.     !macroend
  271.  
  272.  
  273.     !macro OfficeFiles MacroName FileName SubKey Entry
  274.       #GET FILE PATH
  275.       ReadRegStr $Office HKLM "${SubKey}" "${Entry}"
  276.       Push $Office
  277.       Call GetParent
  278.       Pop $Office
  279.  
  280.       !insertmacro ${MacroName} "System Files\Office" "${FileName}" "$Office"
  281.       IfFileExists "$Office\${FileName}.${PRODUCT_NAME}" 0 +9
  282.       Delete "$Office\${FileName}.delete"
  283.       Rename "$Office\${FileName}" "$Office\${FileName}.delete"
  284.       Rename "$Office\${FileName}.${PRODUCT_NAME}" "$Office\${FileName}"
  285.       Delete "$Office\${FileName}.delete"
  286.  
  287.       Push "$Office\${FileName}"
  288.       Call GetFileSize
  289.       Pop $FileSize
  290.       WriteRegStr HKLM "Software\${PRODUCT_NAME}\FILES" "${FileName}" "$FileSize"
  291.     !macroend
  292.  
  293.  
  294.     !macro SetDetailsPrint TextToPrint
  295.       SetDetailsPrint both
  296.       DetailPrint "${TextToPrint}"
  297.       SetDetailsPrint none
  298.     !macroend
  299.  
  300. /*
  301.     !macro UNATTENDED Inst_Section Ini_Section Ini_Entry
  302.       !define UL ${__LINE__}
  303.  
  304.       ReadINIStr $0 "$EXEDIR\${PRODUCT_NAME}.ini" "${Ini_Section}" "${Ini_Entry}"
  305.       StrCmp "$0" "yes" 0 END_${UL}
  306.       !insertmacro SelectSection ${Inst_Section}
  307.  
  308.       END_${UL}:
  309.       !undef UL
  310.     !macroend
  311. */
  312.  
  313.     !macro KillProcess ProcessName
  314.       !define UL ${__LINE__}
  315.         LOOP_${UL}:
  316.         nsProcess::FindProcess "${ProcessName}" .R0
  317.         StrCmp "$R0" "0" 0 +3
  318.         nsProcess::KillProcess "${ProcessName}" .R0
  319.         Goto LOOP_${UL}
  320.       !undef UL
  321.     !macroend
  322.  
  323.  
  324.  
  325. #==========================================
  326. # SECTION - CREATE RESTORE POINT
  327. #==========================================
  328.     Section /o "!Create System Restore Point" CREATERESTOREPOINT
  329.       #CHECK IF SYSTEM RESTORE SERVICE IS ON
  330.       nsExec::ExecToStack '"$SYSDIR\sc.exe" query srservice'
  331.       Pop $1
  332.       Pop $0
  333.       StrCpy $0 $0 7 114
  334.       StrCmp $0 RUNNING +3
  335.       MessageBox MB_OK|MB_ICONEXCLAMATION "The System Restore service is currently stopped or has been removed deliberately.$\n$\nIf you still want to create a system restore point, you must enable it before clicking OK.  (Control Panel -> System -> System Restore tab)" /SD IDOK
  336.  
  337.       StrCmp $0 RUNNING 0 SKIP
  338.       !insertmacro SetDetailsPrint "Creating System Restore Point"
  339.       !insertmacro SetDetailsPrint ""
  340.       SetOutPath "$PLUGINSDIR"
  341.       File "Assets\Tools\wscript.exe"
  342.       File "Assets\Tools\Restore Point.vbs"
  343.  
  344.       IfSilent ISSILENT
  345.       Banner::show /NOUNLOAD /set 76 "Creating System Restore Point" "Please Wait"
  346.       ExecCmd::exec '"$PLUGINSDIR\wscript.exe" "Restore Point.vbs"'
  347.       Banner::destroy
  348.       Return
  349.  
  350.       ISSILENT:
  351.       ExecCmd::exec '"$PLUGINSDIR\wscript.exe" "Restore Point.vbs"'
  352.  
  353.       SKIP:
  354.     SectionEnd
  355.  
  356.  
  357.  
  358. #==========================================
  359. # SECTION - PRE INSTALL
  360. #==========================================
  361.     Section "-PreInstall"
  362.       !insertmacro SetDetailsPrint "Preparing Installation..."
  363.  
  364.       SetOverwrite try
  365.       SetShellVarContext all
  366.       StrCpy $WindowsDrive "$WINDIR" 2
  367.  
  368.       #CREATE DIRECTORIES
  369.       CreateDirectory "${INST_BACKUP}"
  370.       CreateDirectory "${INST_LOGS}"
  371.       CreateDirectory "${INST_NEWFILES}"
  372.       CreateDirectory "${INST_RESOURCES}"
  373.       CreateDirectory "${INST_TEMPFILES}"
  374.       CreateDirectory "${INST_TOOLS}"
  375.  
  376.       #EXTRACT TOOLS
  377.       !insertmacro SetDetailsPrint "Extracting Tools"
  378.       SetOutPath "${INST_TOOLS}"
  379.         File "Assets\Tools\Current User Settings.exe"
  380.         File "Assets\Tools\Force System File Update.exe"
  381.         File "Assets\Tools\MoveEx.exe"
  382.         File "Assets\Tools\RebIC.exe"
  383.         File "Assets\Tools\ResHacker.exe"
  384.         File "Assets\Tools\System Files Updater.exe"
  385.         File "Assets\Tools\wfpdisable.exe"
  386.       SetOutPath "${INST}"
  387.         File "Assets\Images\Icons\Install.ico"
  388.         File "Assets\Images\Icons\Tray.ico"
  389.  
  390.       WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\Close\.Current" "" ""
  391.       WriteRegStr HKLM "Software\Microsoft\WindowsNT\CurrentVersion\FontSubstitutes" "MS Shell Dlg" "Microsoft Sans Serif"
  392.       WriteRegStr HKLM "Software\Microsoft\WindowsNT\CurrentVersion\FontSubstitutes" "MS Shell Dlg 2" "Tahoma"
  393.       WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Control\Session Manager" "AllowProtectedRenames" 0x00000001
  394.  
  395.       #CREATE UNINSTALLER
  396.       !insertmacro SetDetailsPrint "Writing Uninstaller"
  397.       WriteUninstaller "${INST}\Uninstall.exe"
  398.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  399.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" "${INST}\Uninstall.exe"
  400.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayIcon" "${INST}\Install.ico"
  401.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  402.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  403.       WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
  404.  
  405.       ExecCmd::exec "${INST_TOOLS}\wfpdisable.exe"
  406.       !insertmacro SetDetailsPrint " "
  407.     SectionEnd
  408.  
  409.  
  410.  
  411. #==========================================
  412. # SECTION - EXTRA OPTIONS (HIDDEN)
  413. #==========================================
  414.     Section "-Extra Options" EXTRAOPTIONS
  415.       #SET MAX ICON SIZE
  416.       ReadINIStr $0 "$PLUGINSDIR\Extra Options.ini" "Field 2" "State"
  417.  
  418.       #48x48
  419.             StrCmp $0 "1" 0 SIZE128
  420.       WriteRegStr HKLM "SOFTWARE\${PRODUCT_NAME}" "MaxIconSize" "48"
  421.       StrCpy $IconSize "48x48"
  422.       Goto WIDESCREEN_BOOTSCREEN
  423.  
  424.       #128x128
  425.       SIZE128:
  426.       WriteRegStr HKLM "SOFTWARE\${PRODUCT_NAME}" "MaxIconSize" "128"
  427.       StrCpy $IconSize "128x128"
  428.  
  429.       WIDESCREEN_BOOTSCREEN:
  430.       StrCpy $BootScreen "Normal"
  431.             ReadINIStr $0 "$PLUGINSDIR\Extra Options.ini" "Field 8" "State"
  432.             StrCmp $0 "1" 0 OEMINFO
  433.       StrCpy $BootScreen "Widescreen"
  434.  
  435.       OEMINFO:
  436.             ReadINIStr $0 "$PLUGINSDIR\Extra Options.ini" "Field 4" "State"
  437.             StrCmp $0 "1" 0 ADMINONWELCOME
  438.       !insertmacro SetDetailsPrint "Adding OEM Branding Information"
  439.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\Tweaks" "OEMbranding" #CLEANUP
  440.             SetOutPath "$SYSDIR"
  441.             File "Extras\OEM\*.*"
  442.       WriteRegStr HKLM "Software\${PRODUCT_NAME}\ExtraOptions" "OEMbranding" "yes"
  443.  
  444.       ADMINONWELCOME:
  445.             ReadINIStr $0 "$PLUGINSDIR\Extra Options.ini" "Field 7" "State"
  446.             StrCmp $0 "1" 0 SKIP
  447.       !insertmacro SetDetailsPrint "Displaying 'Administrator' account on Welcome Screen"
  448.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\Tweaks" "AdminAccount" #CLEANUP
  449.       WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" "Administrator" 0x00000001
  450.       WriteRegStr HKLM "Software\${PRODUCT_NAME}\ExtraOptions" "AdminAccountOnWelcome" "yes"
  451.  
  452.       SKIP:
  453.     SectionEnd
  454.  
  455.  
  456.  
  457. #==========================================
  458. # SECTION - SYSTEM FILES
  459. #==========================================
  460.     !include "System Files.nsi"
  461.     !insertmacro SystemFiles "/o" "" "InstallFile"
  462.  
  463.  
  464.  
  465. #==========================================
  466. # SECTION - EXTRAS
  467. #==========================================
  468.     SectionGroup "Extras" EXTRAS
  469.       #BOOT SCREEN
  470.       Section /o "Boot Screen" EXTRAS_BOOTSCREEN
  471.         !insertmacro SetDetailsPrint "Installing: Boot Screen"
  472.         Delete "$SYSDIR\osxboot.exe"
  473.         SetFileAttributes "$WindowsDrive\boot.ini" NORMAL
  474.         SetOutPath "${INST_TOOLS}"
  475.           File "Assets\Tools\bootcfg.exe"
  476.           File "Assets\Tools\gsar.exe"
  477.           File "Assets\Tools\XVI32.exe"
  478.           File "Assets\Tools\ReplacePalette.xsc"
  479.         StrCmp $BootScreen "Normal" 0 WIDESCREEN
  480.         !insertmacro InstallFile "Extras\Boot Screen\Normal" "ntkrnlmp.exe" "$SYSDIR"
  481.         !insertmacro InstallFile "Extras\Boot Screen\Normal" "ntkrnlpa.exe" "$SYSDIR"
  482.         !insertmacro InstallFile "Extras\Boot Screen\Normal" "ntoskrnl.exe" "$SYSDIR"
  483.         Goto FINISH
  484.         WIDESCREEN:
  485.         !insertmacro InstallFile "Extras\Boot Screen\Widescreen" "ntkrnlmp.exe" "$SYSDIR"
  486.         !insertmacro InstallFile "Extras\Boot Screen\Widescreen" "ntkrnlpa.exe" "$SYSDIR"
  487.         !insertmacro InstallFile "Extras\Boot Screen\Widescreen" "ntoskrnl.exe" "$SYSDIR"
  488.  
  489.         FINISH:
  490.         IfFileExists "$SYSDIR\ntkrnlmp.exe.${PRODUCT_NAME}" 0 +2
  491.           ExecCmd::exec  "${INST_TOOLS}\XVI32.exe $SYSDIR\ntkrnlmp.exe.${PRODUCT_NAME} /S=${INST_TOOLS}\ReplacePalette.xsc"
  492.  
  493.         IfFileExists "$SYSDIR\ntkrnlpa.exe.${PRODUCT_NAME}" 0 +2
  494.           ExecCmd::exec  "${INST_TOOLS}\XVI32.exe $SYSDIR\ntkrnlpa.exe.${PRODUCT_NAME} /S=${INST_TOOLS}\ReplacePalette.xsc"
  495.  
  496.         IfFileExists "$SYSDIR\ntoskrnl.exe.${PRODUCT_NAME}" 0 +2
  497.           ExecCmd::exec  "${INST_TOOLS}\XVI32.exe $SYSDIR\ntoskrnl.exe.${PRODUCT_NAME} /S=${INST_TOOLS}\ReplacePalette.xsc"
  498.  
  499.         #CLEANUP BOOT.INI
  500.               ExecCmd::exec '"${INST_TOOLS}\gsar.exe" -s/noguiboot -r -i -o "$WindowsDrive\boot.ini"'
  501.               ExecCmd::exec '"${INST_TOOLS}\gsar.exe" -s/bootlogo -r -i -o "$WindowsDrive\boot.ini"'
  502.               ExecCmd::exec '"${INST_TOOLS}\gsar.exe" -s/kernel=osxboot.exe -r  -i -o "$WindowsDrive\boot.ini"'
  503.         SetFileAttributes "$WindowsDrive\boot.ini" SYSTEM|READONLY|HIDDEN
  504.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "BootScreen" "yes"
  505.       SectionEnd
  506.  
  507.       #CURSORS
  508.       Section /o "Cursors" EXTRAS_CURSORS
  509.         !insertmacro SetDetailsPrint "Installing: Cursors"
  510.         SetRebootFlag true
  511.         SetOutPath "$WINDIR\Cursors\OSX"
  512.           File "Extras\Cursors\*.*"
  513.         WriteRegStr HKCU "Control Panel\Cursors\Schemes" "OS X" "$WINDIR\Cursors\OSX\OS X Cursor.cur,$WINDIR\Cursors\OSX\OS X Help.cur,$WINDIR\Cursors\OSX\OS X Working.ani,$WINDIR\Cursors\OSX\OS X Busy.ani,$WINDIR\Cursors\OSX\OS X Cross.cur,$WINDIR\Cursors\OSX\OS X Beam.cur,$WINDIR\Cursors\OSX\OS X Pen.cur,$WINDIR\Cursors\OSX\OS X Unavailable.cur,$WINDIR\Cursors\OSX\OS X Size Horz.cur,$WINDIR\Cursors\OSX\OS X Size Vert.cur,$WINDIR\Cursors\OSX\OS X Resize Right.cur,$WINDIR\Cursors\OSX\OS X Resize Left.cur,$WINDIR\Cursors\OSX\OS X Resize All.cur,$WINDIR\Cursors\OSX\OS X Alternate.cur,$WINDIR\Cursors\OSX\OS X Hand.cur"
  514.         WriteRegStr HKCU "Control Panel\Cursors" "" "OS X"
  515.         WriteRegExpandStr HKCU "Control Panel\Cursors" "AppStarting" "$WINDIR\Cursors\OSX\OS X Working.ani"
  516.         WriteRegExpandStr HKCU "Control Panel\Cursors" "Arrow" "$WINDIR\Cursors\OSX\OS X Cursor.cur"
  517.         WriteRegExpandStr HKCU "Control Panel\Cursors" "Crosshair" "$WINDIR\Cursors\OSX\OS X Cross.cur"
  518.         WriteRegExpandStr HKCU "Control Panel\Cursors" "Hand" "$WINDIR\Cursors\OSX\OS X Hand.cur"
  519.         WriteRegExpandStr HKCU "Control Panel\Cursors" "Help" "$WINDIR\Cursors\OSX\OS X Help.cur"
  520.         WriteRegExpandStr HKCU "Control Panel\Cursors" "IBeam" "$WINDIR\Cursors\OSX\OS X Beam.cur"
  521.         WriteRegExpandStr HKCU "Control Panel\Cursors" "No" "$WINDIR\Cursors\OSX\OS X Unavailable.cur"
  522.         WriteRegExpandStr HKCU "Control Panel\Cursors" "NWPen" "$WINDIR\Cursors\OSX\OS X Pen.cur"
  523.         WriteRegExpandStr HKCU "Control Panel\Cursors" "SizeAll" "$WINDIR\Cursors\OSX\OS X Resize All.cur"
  524.         WriteRegExpandStr HKCU "Control Panel\Cursors" "SizeNESW" "$WINDIR\Cursors\OSX\OS X Resize Left.cur"
  525.         WriteRegExpandStr HKCU "Control Panel\Cursors" "SizeNS" "$WINDIR\Cursors\OSX\OS X Size Horz.cur"
  526.         WriteRegExpandStr HKCU "Control Panel\Cursors" "SizeNWSE" "$WINDIR\Cursors\OSX\OS X Resize Right.cur"
  527.         WriteRegExpandStr HKCU "Control Panel\Cursors" "SizeWE" "$WINDIR\Cursors\OSX\OS X Size Vert.cur"
  528.         WriteRegExpandStr HKCU "Control Panel\Cursors" "UpArrow" "$WINDIR\Cursors\OSX\OS X Alternate.cur"
  529.         WriteRegExpandStr HKCU "Control Panel\Cursors" "Wait" "$WINDIR\Cursors\OSX\OS X Busy.ani"
  530.         WriteRegDWORD HKCU "Control Panel\Cursors" "Scheme Source" 0x00000001
  531.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "Cursors" "yes"
  532.       SectionEnd
  533.  
  534.       #DEFAULT WINDOWS SCREEN SAVER
  535.       Section /o "Default Windows Screen Saver" EXTRAS_DEFAULTSCREENSAVER
  536.         !insertmacro SetDetailsPrint "Installing: Default Windows Screen Saver"
  537.         SetRebootFlag true
  538.         !insertmacro InstallFile "Extras\Default Screen Saver" "logon.scr" "$SYSDIR"
  539.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "DefaultScreenSaver" "yes"
  540.       SectionEnd
  541.  
  542.       #SCREEN SAVER
  543.       Section /o "Flurry Screen Saver ⌐ Matt Ginzton" EXTRAS_FLURRYSCREENSAVER
  544.         !insertmacro SetDetailsPrint "Installing: Flurry Screen Saver ⌐ Matt Ginzton"
  545.         SetOutPath "$SYSDIR"
  546.         File "Extras\Screen Saver\Flurry.scr"
  547.         WriteRegStr HKCU "Control Panel\Desktop" "SCRNSAVE.EXE" "$SYSDIR\Flurry.scr"
  548.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "FlurryScreenSaver" "yes"
  549.       SectionEnd
  550.  
  551.       #HELP AND SUPPORT CENTER
  552.       Section /o "Help and Support Center Images" EXTRAS_HELPANDSUPPORT
  553.         IfFileExists "$WINDIR\PCHealth\HelpCtr\System\images" 0 SKIP
  554.         !insertmacro SetDetailsPrint "Installing: Help and Support Center Images"
  555.         IfFileExists "${INST_BACKUP}\Extras\PCHealth" +3
  556.         CreateDirectory "${INST_BACKUP}\Extras\PCHealth"
  557.         CopyFiles /SILENT "$WINDIR\PCHealth\HelpCtr\System\images" "${INST_BACKUP}\extras\PCHealth"
  558.         SetOutPath "$WINDIR\PCHealth\HelpCtr\System\images"
  559.         File /r "Extras\PCHealth\*.*"
  560.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "HelpandSupport" "yes"
  561.         SKIP:
  562.       SectionEnd
  563.  
  564.       #LOGON SCREEN
  565.       Section /o "Logon Screen" EXTRAS_LOGONSCREEN
  566.         !insertmacro InstallFile "Extras\Logon Screen" "logonui.exe" "$SYSDIR"
  567.         IfFileExists "$SYSDIR\logonui.exe.FlyakiteOSX" 0 SKIP
  568.         WriteRegStr HKU ".DEFAULT\Control Panel\Colors" "Background" "41 74 141"
  569.         WriteRegStr HKU ".DEFAULT\Control Panel\Desktop" "FontSmoothingType" "2"
  570.         WriteRegStr HKU ".DEFAULT\Control Panel\Desktop" "Wallpaper" "${INST_RESOURCES}\logonui.exe\100.bmp"
  571.         WriteRegExpandStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\winlogon" "UIHost" "logonui.exe"
  572.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "LogonScreen" "yes"
  573.         SKIP:
  574.       SectionEnd
  575.  
  576.       #SOUNDS
  577.       Section /o "Iceman's Sound Scheme" EXTRAS_SOUNDS
  578.         !insertmacro SetDetailsPrint "Installing: Iceman's Sound Scheme"
  579.         SetOutPath "$RESOURCES"
  580.         File /r "Extras\Sounds"
  581.  
  582.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\.Default\.Current" "" "$RESOURCES\Sounds\Iceman\Ping.wav"
  583.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\AppGPFault\.Current" "" "$RESOURCES\Sounds\Iceman\Error.wav"
  584.         #WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\Close\.Current" "" "$RESOURCES\Sounds\Iceman\Close.wav"
  585.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\DeviceConnect\.Current" "" "$RESOURCES\Sounds\Iceman\Hardware Connected.wav"
  586.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\DeviceDisconnect\.Current" "" "$RESOURCES\Sounds\Iceman\Hardware Disconnected.wav"
  587.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\DeviceFail\.Current" "" "$RESOURCES\Sounds\Iceman\Error.wav"
  588.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\LowBatteryAlarm\.Current" "" "$RESOURCES\Sounds\Iceman\Alarm.wav"
  589.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\MailBeep\.Current" "" "$RESOURCES\Sounds\Iceman\New Messages.wav"
  590.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\Maximize\.Current" "" "$RESOURCES\Sounds\Iceman\Maximize.wav"
  591.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\MenuCommand\.Current" "" "$RESOURCES\Sounds\Iceman\Menu Command.wav"
  592.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\MenuPopup\.Current" "" "$RESOURCES\Sounds\Iceman\Menu Popup.wav"
  593.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\Minimize\.Current" "" "$RESOURCES\Sounds\Iceman\Minimize.wav"
  594.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\PrintComplete\.Current" "" "$RESOURCES\Sounds\Iceman\Print Complete.wav"
  595.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\RestoreDown\.Current" "" "$RESOURCES\Sounds\Iceman\Undo(Max).wav"
  596.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\RestoreUp\.Current" "" "$RESOURCES\Sounds\Iceman\Undo(Min).wav"
  597.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemAsterisk\.Current" "" "$RESOURCES\Sounds\Iceman\Open.wav"
  598.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemExclamation\.Current" "" "$RESOURCES\Sounds\Iceman\Error.wav"
  599.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemExit\.Current" "" "$RESOURCES\Sounds\Iceman\System Log Off.wav"
  600.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemHand\.Current" "" "$RESOURCES\Sounds\Iceman\Purr.wav"
  601.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemNotification\.Current" "" "$RESOURCES\Sounds\Iceman\Grab.wav"
  602.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemQuestion\.Current" "" "$RESOURCES\Sounds\Iceman\Ping.wav"
  603.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemStart\.Current" "" "$RESOURCES\Sounds\Iceman\System Log In.wav"
  604.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\SystemStartMenu\.Current" "" "$RESOURCES\Sounds\Iceman\Grab.wav"
  605.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\WindowsLogoff\.Current" "" "$RESOURCES\Sounds\Iceman\System Log Off.wav"
  606.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current" "" "$RESOURCES\Sounds\Iceman\System Log In.wav"
  607.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin\.Current" "" "$RESOURCES\Sounds\Iceman\Trash Empty.wav"
  608.         WriteRegExpandStr HKCU "AppEvents\Schemes\Apps\Explorer\Navigating\.Current" "" "$RESOURCES\Sounds\Iceman\Funk.wav"
  609.  
  610.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "Sounds" "yes"
  611.       SectionEnd
  612.  
  613.       #USER ACCOUNT PICTURES
  614.       Section /o "User Account Pictures" EXTRAS_USERACCOUNTPICTURES
  615.         !insertmacro SetDetailsPrint "Installing: User Account Pictures"
  616.         ReadRegStr $AppDir HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData"
  617.         SetOutPath "$AppDir\Microsoft\User Account Pictures\Default Pictures"
  618.         File /r "extras\User Account Pictures\*.*"
  619.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "UserAccountPictures" "yes"
  620.       SectionEnd
  621.  
  622.       #WALLPAPER
  623.       Section /o "Wallpaper" EXTRAS_WALLPAPER
  624.         IfFileExists "$WINDIR\Web\Wallpaper\Aqua Blue.bmp" SKIP
  625.         !insertmacro SetDetailsPrint "Installing: Wallpaper"
  626.         File "/oname=$WINDIR\Web\Wallpaper\Aqua Blue.bmp" "Extras\Logon Screen\128x128\logonui.exe\100.bmp"
  627.         WriteRegStr HKCU "Control Panel\Desktop" "Wallpaper" "$WINDIR\Web\Wallpaper\Aqua Blue.bmp"
  628.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Extras" "Wallpaper" "yes"
  629.         SKIP:
  630.       SectionEnd
  631.     SectionGroupEnd
  632.  
  633.  
  634.  
  635. #==========================================
  636. # SECTION - SKINS
  637. #==========================================
  638.     SectionGroup "Skins" SKINS
  639.       #VISUAL STYLE
  640.       Section /o "Tiger Visual Style" SKINS_VISUALSTYLE
  641.         SetRebootFlag true
  642.         #WINDOWBLINDS
  643.         ReadRegStr $AppDir HKLM "SOFTWARE\Stardock\ObjectDesktop\WindowBlinds" "Path"
  644.         IfFileExists "$AppDir\wbconfig.exe" 0 MSSTYLE
  645.         !insertmacro SetDetailsPrint "Installing: Mac OS X Tiger WindowBlinds Skin ⌐ Steve Grenier"
  646.         Rename "$AppDir\Mac OS X Tiger" "$AppDir\Mac OS X Tiger old"
  647.         RMdir /r /REBOOTOK "$AppDir\Mac OS X Tiger.old"
  648.         SetOutPath "$PLUGINSDIR"
  649.         File "Skins\Visual Styles\WindowBlinds\Mac OS X Tiger.wba"
  650.         ExecShell open "$PLUGINSDIR\Mac OS X Tiger.wba"
  651.         DeleteRegKey HKCU "Software\Stardock\WindowBlinds\WB5.ini\WBLiteFX"
  652.                 GetDLLVersion "$AppDir\wbconfig.exe" $R0 $R1
  653.                 IntOp $1 $R0 / 0x00010000 # $R2 now contains major version
  654.                 StrCmp "$1" "4" 0 +3
  655.             File "Skins\Visual Styles\WindowBlinds\WB4.reg"
  656.             ExecWait 'regedit.exe /s "$PLUGINSDIR\WB4.reg"'
  657.                 StrCmp "$1" "5" 0 +3
  658.             File "Skins\Visual Styles\WindowBlinds\WB5.reg"
  659.             ExecWait 'regedit.exe /s "$PLUGINSDIR\WB5.reg"'
  660.         WriteRegStr HKCU "Software\Stardock\WindowBlinds\WB5.ini\WBLiteFX" "Skinset" "$AppDir\Mac OS X Tiger\OSX_Brushed_Aqua.sss"
  661.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "WindowBlinds" "yes"
  662.  
  663.         #MS STYLE
  664.         MSSTYLE:
  665.         !insertmacro SetDetailsPrint "Installing: Tiger MS Style Skin ⌐ KoL"
  666.         Rename "$RESOURCES\Themes\Tiger" "$RESOURCES\Themes\Tiger.old"
  667.         RMdir /r /REBOOTOK "$RESOURCES\Themes\Tiger.old"
  668.         SetOutPath "$RESOURCES\Themes"
  669.         File /r "Skins\Visual Styles\MSStyle\Tiger"
  670.         WriteRegStr HKCU "Control Panel\Desktop\WindowMetrics" "Borderwidth" "0"
  671.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "WCreatedUser" "1"
  672.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "LoadedBefore" "0"
  673.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "ThemeActive" "1"
  674.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "ColorName" "NormalColor"
  675.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "SizeName" "NormalSize"
  676.         WriteRegExpandStr HKCU "Software\Microsoft\Windows\CurrentVersion\ThemeManager" "DllName" "%SystemRoot%\Resources\Themes\Tiger\Tiger.msstyles"
  677.         WriteRegExpandStr HKU ".DEFAULT\Software\Microsoft\Windows\CurrentVersion\ThemeManager" "DllName" "%SystemRoot%\Resources\Themes\Tiger\Tiger.msstyles"
  678.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "MSStyle" "yes"
  679.  
  680.         SetOutPath "${INST}"
  681.         File "Extras\Fonts\Lucida Grande.ttf"
  682.         File "Extras\Fonts\Lucida Grande Bold.ttf"
  683.         ExecCmd::exec '"${INST_TOOLS}\MoveEx.exe" "${INST}\Lucida Grande.ttf" "$FONTS\Lucida Grande.ttf"'
  684.         ExecCmd::exec '"${INST_TOOLS}\MoveEx.exe" "${INST}\Lucida Grande Bold.ttf" "$FONTS\Lucida Grande Bold.ttf"'
  685.       SectionEnd
  686.  
  687.       #MSN MESSENGER SKIN
  688.       Section /o "MSN Messenger 7.5 Skin ⌐ theunknown" SKINS_MSN
  689.         ReadRegStr $AppDir HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSNMSGR.exe" "Path"
  690.         IfFileExists "$AppDir\msnmsgr.exe" 0 SKIP
  691.         !insertmacro SetDetailsPrint "Installing: MacMSN MSN Messenger 7.5 Skin ⌐ theunknown"
  692.         SetOutPath $PLUGINSDIR
  693.         File "Skins\MSN Messenger\MacMSN.exe"
  694.         ExecWait '"$PLUGINSDIR\MacMSN.exe" /S'
  695.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "MSN" "yes"
  696.         SKIP:
  697.       SectionEnd
  698.  
  699.       #POWERDVD SKIN
  700.       Section /o "PowerDVD 5/6 iVid Skin ⌐ aquagrl" SKINS_POWERDVD
  701.         ReadRegStr $AppDir HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\PowerDVD" "Path"
  702.         IfFileExists "$AppDir\PowerDVD.exe" 0 SKIP
  703.         !insertmacro SetDetailsPrint "Installing: PowerDVD 5/6 iVid Skin ⌐ aquagrl"
  704.         SetOutPath "$AppDir\Skins"
  705.         File /r "Skins\PowerDVD\iVid Mac 2"
  706.         WriteRegStr HKCU "Software\Cyberlink\PowerDVD" "UISkinName" "Skins\iVid Mac 2\iVid Mac 2.dll"
  707.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "PowerDVD" "yes"
  708.         SKIP:
  709.       SectionEnd
  710.  
  711.       #TRILLIAN PRO SKIN
  712.       Section /o "Trillian 3.1 Pro iChatAV Skin ⌐ Danimator" SKINS_TRILLIAN
  713.         ReadRegStr $AppDir HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Trillian" "DisplayIcon"
  714.         StrCpy $AppDir $AppDir -12
  715.         IfFileExists "$AppDir\trillian.exe" 0 SKIP
  716.         !insertmacro SetDetailsPrint "Installing: Trillian 3.1 Pro iChatAV Skin ⌐ Danimator"
  717.         SetOutPath "$AppDir\skins"
  718.         File /r "Skins\Trillian\iChatAV"
  719.         SetOutPath "$AppDir\stixe\plugins"
  720.         File /r "Skins\Trillian\iChat-Sounds"
  721.         File /r "Skins\Trillian\Ultimate"
  722.         WriteINIStr "$AppDir\users\default\trillian.ini" "General" "skin" "$AppDir\skins\iChatAV"
  723.         WriteINIStr "$AppDir\users\default\buddy.ini" "Options" "Show Medium Icons" "1"
  724.         WriteINIStr "$AppDir\users\default\buddy.ini" "Options" "Iconview" "0"
  725.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "Trillian" "yes"
  726.         SKIP:
  727.       SectionEnd
  728.  
  729.       #WINDVD SKIN
  730.       Section /o "WinDVD 6 iDVD Skin ⌐ Danimator" SKINS_WINDVD
  731.         ReadRegStr $AppDir HKLM "SOFTWARE\InterVideo\DVD6" "Path"
  732.         IfFileExists "$AppDir\WinDVD.exe" 0 SKIP
  733.         !insertmacro SetDetailsPrint "Installing: WinDVD 6 iDVD Skin ⌐ Danimator"
  734.         SetOutPath "$AppDir\Skins"
  735.         File /r "Skins\WinDVD\iDVD"
  736.         WriteRegStr HKCU "Software\InterVideo\DVD6" "SKIN" "iDVD"
  737.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "WinDVD" "yes"
  738.         SKIP:
  739.       SectionEnd
  740.  
  741.       #WINRAR SKIN
  742.       Section /o "WinRAR 3.x Skin" SKINS_WINRAR
  743.         ReadRegStr $AppDir HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" "Path"
  744.         IfFileExists "$AppDir\WinRar.exe" 0 SKIP
  745.         SetRebootFlag true
  746.         !insertmacro InstallFile "Skins\WinRAR" "WinRAR.exe" "$AppDir"
  747.         !insertmacro InstallFile "Skins\WinRAR" "RarExt.dll" "$AppDir"
  748.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Skins" "WinRAR" "yes"
  749.         SKIP:
  750.       SectionEnd
  751.     SectionGroupEnd
  752.  
  753.  
  754.  
  755. #==========================================
  756. # SECTION - SOFTWARE
  757. #==========================================
  758.     SectionGroup "Software" SOFTWARE
  759.       #DOCKS
  760.       SectionGroup "Docks" SOFTWARE_DOCKS
  761.         Section /o "ObjectDock ${VER_OD} ⌐ Stardock" SOFTWARE_OBJECTDOCK
  762.           ReadRegStr $AppDir HKLM "SOFTWARE\Stardock\FreeStuff\ObjectDock" "Path"
  763.           IfFileExists "$AppDir\ObjectDock.exe" SKIP
  764.           ReadRegStr $AppDir HKLM "SOFTWARE\Stardock\Misc\ObjectDock" "Path"
  765.           IfFileExists "$AppDir\ObjectDock.exe" SKIP
  766.           !insertmacro SetDetailsPrint "Installing: ObjectDock ${VER_OD} ⌐ Stardock"
  767.           !insertmacro KillProcess "ObjectDock.exe"
  768.           SetOutPath "$PROGRAMFILES"
  769.           File /r "Software\Docks\ObjectDock"
  770.           CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  771.           CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\ObjectDock.lnk" "$PROGRAMFILES\ObjectDock\ObjectDock.exe"
  772.           DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RK Launcher"
  773.           WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "ObjectDock" "$PROGRAMFILES\ObjectDock\ObjectDock.exe"
  774.           WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "ObjectDock" "yes"
  775.           SKIP:
  776.         SectionEnd
  777.  
  778.         Section /o "RK Launcher ${VER_RK} ⌐ RaduKing" SOFTWARE_RKLAUNCHER
  779.           !insertmacro SetDetailsPrint "Installing: RK Launcher ${VER_RK} ⌐ RaduKing"
  780.           !insertmacro KillProcess "RKLauncher.exe"
  781.           SetOutPath "$PROGRAMFILES"
  782.           IfFileExists "$PROGRAMFILES\RK Launcher\RKLauncher.exe" +3
  783.           File /r "Software\Docks\RK Launcher"
  784.           Goto +2
  785.           File /r /x *.conf /x themes "Software\Docks\RK Launcher"
  786.           CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  787.           CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\RK Launcher.lnk" "$PROGRAMFILES\RK Launcher\RKLauncher.exe"
  788.           DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "ObjectDock"
  789.           WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RK Launcher" "$PROGRAMFILES\RK Launcher\RKLauncher.exe"
  790.           WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "RKLauncher" "yes"
  791.         SectionEnd
  792.       SectionGroupEnd
  793.  
  794.       #ALT+Q
  795.       Section /o "Alt+Q Hotkey Tool ⌐ Hakan Erduman" SOFTWARE_ALTQ
  796.         !insertmacro SetDetailsPrint "Installing: Alt+Q Hotkey Close Application Tool ⌐ Hakan Erduman"
  797.         !insertmacro KillProcess "Alt+Q Hotkey.exe"
  798.         Delete "${INST_SOFTWARE}\Alt+Q Hotkey.exe" #CLEANUP
  799.         SetOutPath "$WINDIR"
  800.         File "Software\Alt+Q Hotkey.exe"
  801.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Alt+Q Hotkey Tool" "$WINDIR\Alt+Q Hotkey.exe"
  802.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "Alt+Q" "yes"
  803.       SectionEnd
  804.  
  805.       #ICOLORFOLDER
  806.       Section /o "iColorFolder ${VER_ICF} ⌐ KemenAran" SOFTWARE_ICF
  807.         !insertmacro SetDetailsPrint "Installing: iColorFolder ${VER_ICF} ⌐ KemenAran"
  808.         SetOutPath "$PLUGINSDIR"
  809.         File "Software\iColorFolder.exe"
  810.         ExecWait "$PLUGINSDIR\iColorFolder.exe /S /SKIN=OSX /NOGENERIC"
  811.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  812.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\iColorFolder.lnk" "$PROGRAMFILES\iColorFolder\iColorFolder.exe"
  813.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "iColorFolder" "yes"
  814.       SectionEnd
  815.  
  816.       #ITUNES MULTI-PLUGIN
  817.       Section /o "iTunes Multi-Plugin ${VER_ITUNESMP} ⌐ loc[a]lhost" SOFTWARE_MULTIPLUGIN
  818.         ReadRegStr $AppDir HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\iTunes.exe" ""
  819.         IfFileExists "$AppDir" 0 SKIP
  820.         Delete "${INST_SOFTWARE}\iTunes Multi-Plugin.exe" #CLEANUP
  821.         !insertmacro SetDetailsPrint "Installing: iTunes Multi-Plugin ${VER_ITUNESMP} ⌐ loc[a]lhost"
  822.         !insertmacro KillProcess "iTunes.exe"
  823.         SetOutPath "$WINDIR"
  824.         File "Software\iTunes Multi-Plugin.exe"
  825.         ExecWait "$WINDIR\iTunes Multi-Plugin.exe /silent"
  826.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "iTunesMultiPlugin" "yes"
  827.         SKIP:
  828.       SectionEnd
  829.  
  830.       #SEARCHSPY
  831.       Section /o "SearchSpy ${VER_SEARCHSPY} ⌐ SpyGamer" SOFTWARE_SEARCHSPY
  832.         ReadRegStr $AppDir HKLM "SOFTWARE\Google\Google Desktop" "install_dir"
  833.         IfFileExists "$AppDir\GoogleDesktop.exe" 0 SKIP
  834.         !insertmacro SetDetailsPrint "Installing: SearchSpy ${VER_SEARCHSPY} ⌐ SpyGamer"
  835.         !insertmacro KillProcess "SearchSpyResults.exe"
  836.         !insertmacro KillProcess "SearchSpyMenu.exe"
  837.         SetOutPath "$PLUGINSDIR"
  838.         File "Software\SearchSpy.exe"
  839.         ExecWait "$PLUGINSDIR\SearchSpy.exe /VERYSILENT"
  840.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  841.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\SearchSpy.lnk" "$PROGRAMFILES\SearchSpy\SearchSpyMenu.exe"
  842.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "SearchSpy" "$PROGRAMFILES\SearchSpy\SearchSpyMenu.exe"
  843.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "SearchSpy" "yes"
  844.         SKIP:
  845.       SectionEnd
  846.  
  847.       #TIGER SYSTEM PREFERENCES
  848.       Section /o "Tiger System Preferences ${VER_TSP} ⌐ German S. Benitez" SOFTWARE_TSP
  849.         !insertmacro SetDetailsPrint "Installing: Tiger System Preferences ${VER_TSP} ⌐ German S. Benitez"
  850.         !insertmacro KillProcess "TigerPrefs.exe"
  851.         SetOutPath "$PLUGINSDIR"
  852.         File "Software\TSPv2.exe"
  853.         ExecWait "$PLUGINSDIR\TSPv2.exe"
  854.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  855.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\Tiger System Preferences.lnk" "$PROGRAMFILES\Tiger System Preferences v2\TigerPrefs.exe"
  856.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "TigerSystemPreferences" "yes"
  857.       SectionEnd
  858.  
  859.       #UBERICON
  860.       Section /o "UberIcon ${VER_UBERICON} ⌐ Punk Software" SOFTWARE_UBERICON
  861.         !insertmacro SetDetailsPrint "Installing: UberIcon ${VER_UBERICON} ⌐ Punk Software"
  862.         !insertmacro KillProcess "UberIcon Manager.exe"
  863.         SetOutPath "$PROGRAMFILES"
  864.         File /r "Software\UberIcon"
  865.         WriteRegStr HKCU "Software\UberIcon-v1.0.0" "Effect" "iZoom"
  866.         WriteRegStr HKCU "Software\UberIcon-v1.0.0" "Enabled" "1"
  867.         WriteRegStr HKCU "Software\UberIcon-v1.0.0\fx_iZoom\PluginSettings\Async" "Value" "1"
  868.         WriteRegStr HKCU "Software\UberIcon-v1.0.0\fx_iZoom\PluginSettings\Echo" "Value" "0"
  869.         WriteRegStr HKCU "Software\UberIcon-v1.0.0\fx_iZoom\PluginSettings\Outline" "Value" "0"
  870.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  871.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\UberIcon.lnk" "$PROGRAMFILES\UberIcon\UberIcon Manager.exe"
  872.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "UberIcon" '"$PROGRAMFILES\UberIcon\UberIcon Manager.exe"'
  873.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "UberIcon" "yes"
  874.       SectionEnd
  875.  
  876.       #WINROLL
  877.       Section /o "WinRoll ${VER_WINROLL} ⌐ Wil Palma" SOFTWARE_WINROLL
  878.         !insertmacro SetDetailsPrint "Installing: WinRoll ${VER_WINROLL} ⌐ Wil Palma"
  879.         !insertmacro KillProcess "winroll.exe"
  880.         Rename "$PROGRAMFILES\WinRoll\winroll.dll" "$PROGRAMFILES\WinRoll\winroll.old"
  881.         ExecCmd::exec '"${INST_TOOLS}\MoveEx.exe" "$PROGRAMFILES\WinRoll\winroll.old"'
  882.         SetOutPath "$PROGRAMFILES"
  883.         File /r "Software\WinRoll"
  884.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  885.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\WinRoll.lnk" "$PROGRAMFILES\WinRoll\winroll.exe"
  886.         WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "WinRoll" "$PROGRAMFILES\WinRoll\winroll.exe"
  887.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "WinRoll" "yes"
  888.       SectionEnd
  889.  
  890.       #Y'Z SHADOW
  891.       Section /o "Y'z Shadow ${VER_YZSHADOW} ⌐ M. Yamaguchi" SOFTWARE_YZSHADOW
  892.         !insertmacro SetDetailsPrint "Installing: Y'z Shadow ${VER_YZSHADOW} ⌐ M. Yamaguchi"
  893.         !insertmacro KillProcess "YzShadow.exe"
  894.                 SetOutPath "$PROGRAMFILES"
  895.         IfFileExists "$PROGRAMFILES\YzShadow\YzShadow.exe" +3
  896.                 File /r "Software\YzShadow"
  897.         Goto +2
  898.         File /r /x *.ini "Software\YzShadow"
  899.         CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Software"
  900.         CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Software\Y'z Shadow.lnk" "$PROGRAMFILES\YzShadow\YzShadow.exe"
  901.                 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Yz Shadow" "$PROGRAMFILES\YzShadow\YzShadow.exe"
  902.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Software" "YzShadow" "yes"
  903.       SectionEnd
  904.     SectionGroupEnd
  905.  
  906.  
  907.  
  908. #==========================================
  909. # SECTION - TWEAKS
  910. #==========================================
  911.     SectionGroup "Tweaks" TWEAKS
  912.       #ADD TWEAKUI ICON TO CONTROL PANEL
  913.       Section /o "Add TweakUI Icon to Control Panel" TWEAKS_TWEAKUI
  914.         IfFileExists "$SYSDIR\TweakUI.exe" 0 SKIP
  915.         !insertmacro SetDetailsPrint "Applying Tweak: Add TweakUI icon to Control Panel"
  916.         WriteRegStr HKCR "CLSID\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}" "" "TweakUI"
  917.         WriteRegStr HKCR "CLSID\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}" "InfoTip" "TweakUI 2.10"
  918.         WriteRegStr HKCR "CLSID\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}\DefaultIcon" "" '$SYSDIR\TweakUI.exe,0'
  919.         WriteRegStr HKCR "CLSID\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}\Shell\Open\Command" "" '"$SYSDIR\TweakUI.exe"'
  920.         WriteRegDWORD HKCR "CLSID\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}\ShellFolder" "Attributes" "0x00000030"
  921.         WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{D14ED2E1-C75B-443c-BD7C-FC03B2F08C16}" "" "Installed TweakUI Here"
  922.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "TweakUI" "yes"
  923.         SKIP:
  924.       SectionEnd
  925.  
  926.       #CHANGE COMMAND CONSOLE COLORS TO 'TERMINAL'
  927.       Section /o "Make Command Console like Terminal" TWEAKS_COMMANDCONSOLE
  928.         !insertmacro SetDetailsPrint "Applying Tweak: Make Command Console like Terminal"
  929.         WriteRegDWORD HKCU "SOFTWARE\Microsoft\Command Processor" "CompletionChar" 0x00000009
  930.         WriteRegDWORD HKCU "SOFTWARE\Microsoft\Command Processor" "DefaultColor" 0x000000F0
  931.         WriteRegDWORD HKCU "SOFTWARE\Microsoft\Command Processor" "PathCompletionChar" 0x0000009
  932.         DeleteRegValue HKCU "SOFTWARE\Microsoft\Command Processor" "AutoRun"
  933.  
  934.         WriteRegDWORD HKCU "Console" "CursorSize" 0x00000064
  935.         WriteRegDWORD HKCU "Console" "FontSize" 0x00000018
  936.         WriteRegDWORD HKCU "Console" "InsertMode" 0x00000001
  937.         WriteRegDWORD HKCU "Console" "QuickEdit" 0x00000001
  938.         WriteRegDWORD HKCU "Console" "ScreenColors" 0x000000F0
  939.         WriteRegStr HKCU "Console" "FaceName" "Lucida Console"
  940.  
  941.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "CommandConsole" "yes"
  942.       SectionEnd
  943.  
  944.       #DEFAULT FILE TYPE ICONS
  945.       Section /o "Default File Type Icons" TWEAKS_FILETYPEICONS
  946.         !insertmacro SetDetailsPrint "Applying Tweak: Default File Type Icons"
  947.         SetOutPath "${INST}"
  948.         File /r "Extras\FileTypeIcons"
  949.  
  950.         WriteRegStr HKCR "giffile\DefaultIcon" "" "${INST}\FileTypeIcons\GIF.ico"
  951.         WriteRegStr HKCR "jpegfile\DefaultIcon" "" "${INST}\FileTypeIcons\JPEG.ico"
  952.         WriteRegStr HKCR "Paint.Picture\DefaultIcon" "" "${INST}\FileTypeIcons\BMP.ico"
  953.         WriteRegStr HKCR "pngfile\DefaultIcon" "" "${INST}\FileTypeIcons\PNG.ico"
  954.         WriteRegStr HKCR "TIFImage.Document\DefaultIcon" "" "${INST}\FileTypeIcons\TIFF.ico"
  955.  
  956.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "FileTypeIcons" "yes"
  957.       SectionEnd
  958.  
  959.       #DISABLE EXPLORER THROBBER
  960.       Section /o "Disable Explorer Throbber" TWEAKS_THROBBERSHELL
  961.         !insertmacro SetDetailsPrint "Applying Tweak: Disable Explorer Throbber"
  962.         WriteRegBin HKCU "Software\Microsoft\Internet Explorer\Toolbar\ShellBrowser" "ITBarLayout" "110000004c00000000000000260000001300000051000000050000006a0400002600000001000000a1060000df01000002000000a10600000903000004000000a10400000d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  963.         WriteRegBin HKCU "Software\Microsoft\Internet Explorer\Toolbar\Explorer" "ITBarLayout" "0c0000004c000000740000001a0000001300000033000000050000006a0000002600000001000000e1000000df0100000400000001000000bd00000002000000200000008d0100000300000009000000b8000000"
  964.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "ThrobberShell" "yes"
  965.       SectionEnd
  966.  
  967.       #DISABLE IE THROBBER
  968.       Section /o "Disable IE Throbber" TWEAKS_THROBBERIE
  969.         !insertmacro SetDetailsPrint "Applying Tweak: Disable IE Throbber"
  970.         WriteRegBin HKCU "Software\Microsoft\Internet Explorer\Toolbar\WebBrowser" "ITBarLayout" "110000004c00000000000000360000001300000053000000050000006a050000260000000100000020070000e0010000020000002107000044000000040000002105000033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  971.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "ThrobberIE" "yes"
  972.       SectionEnd
  973.  
  974.       #MOVE TASKBAR TO TOP OF SCREEN
  975.       Section /o "Move Taskbar to Top of Screen" TWEAKS_MOVETASKBAR
  976.         SetRebootFlag true
  977.         SetOutPath "${INST_TOOLS}"
  978.         File "Assets\Tools\Move Taskbar to Top.exe"
  979.         File "Assets\Tools\Move Taskbar to Bottom.exe"
  980.         !insertmacro SetDetailsPrint "Moving Taskbar to Top of Screen"
  981.         ExecWait "${INST_TOOLS}\Move Taskbar to Top.exe"
  982.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "MoveTaskbar" "yes"
  983.       SectionEnd
  984.  
  985.       #REMOVE "RECENT DOCUMENTS" FROM PLACES
  986.       Section /o "Remove 'Recent Documents' from Places" TWEAKS_PLACESBAR
  987.         !insertmacro SetDetailsPrint "Applying Tweak: Remove 'Recent Documents' from Places"
  988.         WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32\Placesbar" "Place0" 0x00000000
  989.         WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32\Placesbar" "Place1" 0x00000005
  990.         WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32\Placesbar" "Place2" 0x00000011
  991.         WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32\Placesbar" "Place3" 0x00000012
  992.         WriteRegStr HKLM "Software\${PRODUCT_NAME}\Tweaks" "PlacesBar" "yes"
  993.       SectionEnd
  994.     SectionGroupEnd
  995.  
  996.  
  997.  
  998. #==========================================
  999. # SECTION - CREATE SHORTCUTS
  1000. #==========================================
  1001.     Section "-Shortcuts"
  1002.       !insertmacro SetDetailsPrint ""
  1003.       !insertmacro SetDetailsPrint "Creating Shortcuts"
  1004.  
  1005.       SetShellVarContext all
  1006.  
  1007.       #CREATE TOOLS MENU
  1008.       CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}\Tools\Advanced"
  1009.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Tools\Current User Settings.lnk" "${INST_TOOLS}\Current User Settings.exe"
  1010.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Tools\System Files Updater.lnk" "${INST_TOOLS}\System Files Updater.exe"
  1011.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Tools\Rebuild Icon Cache.lnk" "${INST_TOOLS}\RebIC.exe"
  1012.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Tools\Advanced\Force System File Update.lnk" "${INST_TOOLS}\Force System File Update.exe"
  1013.  
  1014.       #CREATE OTHER START MENU ITEMS
  1015.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "${INST}\Uninstall.exe"
  1016.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "${PRODUCT_WEB_SITE}"
  1017.       CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Welcome to ${PRODUCT_NAME}.lnk" "http://osx.portraitofakite.com/pages/tutorials/guide/"
  1018.  
  1019.       #MISC SHORTCUTS
  1020.       CreateShortCut "${INST}\Website.lnk" "${PRODUCT_WEB_SITE}"
  1021.       CreateShortCut "$DESKTOP\Welcome to ${PRODUCT_NAME}.lnk" "http://osx.portraitofakite.com/pages/tutorials/guide/"
  1022.  
  1023.       #ADD CURRENT USER SETTINGS TOOL TO CONTROL PANEL
  1024.       ReadRegStr $GUID HKLM "Software\${PRODUCT_NAME}" "GUID"
  1025.       StrCmp $GUID "" 0 +3
  1026.       Call CreateGUID
  1027.       Pop $GUID
  1028.       WriteRegStr HKCR "CLSID\$GUID" "" "Current User Settings"
  1029.       WriteRegStr HKCR "CLSID\$GUID" "InfoTip" "Adjust items installed by FlyakiteOSX for the current user."
  1030.       WriteRegStr HKCR "CLSID\$GUID\DefaultIcon" "" "${INST_TOOLS}\Current User Settings.exe,0"
  1031.       WriteRegStr HKCR "CLSID\$GUID\Shell\Open\Command" "" "${INST_TOOLS}\Current User Settings.exe"
  1032.       WriteRegDWORD HKCR "CLSID\$GUID\ShellFolder" "Attributes" "0"
  1033.       WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\$GUID" "" "Current User Settings"
  1034.       WriteRegStr HKLM "SOFTWARE\${PRODUCT_NAME}" "GUID" "$GUID"
  1035.     SectionEnd
  1036.  
  1037.  
  1038.  
  1039. #==========================================
  1040. # SECTION - POST INSTALL (HIDDEN)
  1041. #==========================================
  1042.     Section "-Post Install"
  1043.       !insertmacro SetDetailsPrint "Clearing Icon Cache"
  1044.  
  1045.       #REGISTER FONTS
  1046.       WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" "Lucida Grande (TrueType)" "Lucida Grande.ttf"
  1047.       WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" "Lucida Grande Bold (TrueType)" "Lucida Grande Bold.ttf"
  1048.  
  1049.       #HIDE INSTALLATION FOLDER
  1050.       SetFileAttributes "${INST}" HIDDEN
  1051.  
  1052.       #CREATE RESTORE BATCH FILE
  1053.       SetOutPath "$PLUGINSDIR"
  1054.       File "Assets\Tools\Batch Restore Script.exe"
  1055.       ExecWait '"$PLUGINSDIR\Batch Restore Script.exe" /S'
  1056.  
  1057.       #DELETE ICONCACHE.DB FILES FOR ALL USERS
  1058.       Call DeleteIconCache
  1059.  
  1060.       #SET SYSTEM FILES UPDATER TOOL TO RUN AT STARTUP
  1061.       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "System Files Updater" "${INST_TOOLS}\System Files Updater.exe /S"
  1062.     SectionEnd
  1063.  
  1064.  
  1065.  
  1066. #==========================================
  1067. # SECTION - V2.0 CLEANUP (HIDDEN)
  1068. #==========================================
  1069.     Section "-Cleanup"
  1070.       !insertmacro SetDetailsPrint "Cleaning Up"
  1071.  
  1072.       StrCpy $R1 "0"
  1073.       SetShellVarContext current
  1074.  
  1075.       LOOP:
  1076.       #v2.0 CLEANUP
  1077.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Updater.lnk"
  1078.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Settings.lnk"
  1079.       Delete "${INST}\uninst.exe"
  1080.       Delete "${INST_TOOLS}\JpgToBmp.exe"
  1081.       #v3.0 BETA CLEANUP
  1082.       Delete "${INST_TOOLS}\ResHacker.ini"
  1083.       Delete "${INST_TOOLS}\Universal UXTheme Patcher ${UXTHEME_VERSION}.exe"
  1084.       Delete "${INST_LOGS}\mscormmc.dll.log"
  1085.       RMdir /r "${INST_RESOURCES}\mscormmc.dll"
  1086.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\FILES" "mscormmc.dll"
  1087.       DeleteRegValue HKLM "Software\${PRODUCT_NAME}\Tweaks" "IEShell"
  1088.       DeleteRegKey HKLM "Software\Microsoft\Windows\Uninstall"
  1089.       #v3.0 CLEANUP
  1090.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\Current User Settings.lnk"
  1091.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\System Files Updater.lnk"
  1092.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\Rebuild Icon Cache.lnk"
  1093.       Delete "${INST}\${PRODUCT_NAME} Updater.exe"
  1094.       Delete "${INST}\${PRODUCT_NAME} Settings.exe"
  1095.       Delete "${INST}\Current User Settings.exe"
  1096.       Delete "${INST}\System Files Updater.exe"
  1097.       Delete "${INST}\RebIC.exe"
  1098.       Delete "${INST_TOOLS}\wfpadminc.exe"
  1099.       Delete "$SYSDIR\PatchPalette.exe"
  1100.       RMdir "${INST_SOFTWARE}"
  1101.       DeleteRegKey HKCR "psdfile"
  1102.       Delete "${INST}\*.url"
  1103.       Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.url"
  1104.       RMdir /r "${INST}\Welcome to FlyakiteOSX"
  1105.       #v3.5 BETA CLEANUP
  1106.       Delete "${INST_TOOLS}\Rebuild Icon Cache.exe"
  1107.  
  1108.       #OVERALL CLEANUP
  1109.       RMdir "${INST_BACKUP}"
  1110.       RMdir "${INST_LOGS}"
  1111.       RMdir "${INST_NEWFILES}"
  1112.       RMdir "${INST_RESOURCES}"
  1113.       RMdir /r "${INST_TEMPFILES}"
  1114.  
  1115.       IntOp $R1 $R1 + 1
  1116.       SetShellVarContext all
  1117.       StrCmp $R1 "1" LOOP
  1118.  
  1119.       !insertmacro SetDetailsPrint ""
  1120.       SetDetailsPrint both
  1121.     SectionEnd
  1122.  
  1123.  
  1124.  
  1125. #==========================================
  1126. # UNINSTALLER
  1127. #==========================================
  1128.     !undef UXThemePatcher
  1129.     !define Uninstaller
  1130.     !include "Uninstaller.nsi"
  1131.     !undef Uninstaller
  1132.  
  1133.  
  1134.  
  1135. #==========================================
  1136. # SECTION DESCRIPTIONS
  1137. #==========================================
  1138.     !include "Section Descriptions.nsi"
  1139.  
  1140.  
  1141.  
  1142. #==========================================
  1143. # INSTALLER FUNCTIONS
  1144. #==========================================
  1145.     !include "Functions.nsi"
  1146.  
  1147.     Function .onInit
  1148.       InitPluginsDir
  1149.  
  1150.       Call ExtractSource
  1151.       Call Check64Bit
  1152.       Call OneInstance
  1153.       Call ShowSplashScreen
  1154.       Call CheckAdminRights
  1155.       Call CheckColorDepth
  1156.  
  1157.             !insertmacro MUI_INSTALLOPTIONS_EXTRACT "Extra Options.ini"
  1158.     FunctionEnd
  1159.  
  1160.  
  1161.         #UNLOAD SYSTEM PLUGIN ON INSTALL SUCCESS
  1162.     Function .onInstSuccess
  1163.       SetOutPath $TEMP
  1164.       System::Free 0
  1165.     FunctionEnd
  1166.  
  1167.  
  1168.         #UNLOAD SYSTEM PLUGIN ON GUI END
  1169.         Function .onGUIEnd
  1170.       SetOutPath $TEMP
  1171.       System::Free 0
  1172.         FunctionEnd
  1173.  
  1174.  
  1175.     #MAINTENANCE PAGE
  1176.     Function Maintenance
  1177.       #CHECK IF UNINSTALLER EXISTS
  1178.       IfFileExists "${INST}\Uninstall.exe" 0 SKIP
  1179.  
  1180.       #SHOW MAINTENANCE PAGE
  1181.       !insertmacro MUI_INSTALLOPTIONS_EXTRACT "Maintenance.ini"
  1182.       File "/oname=$PLUGINSDIR\Maintenance.bmp" "Assets\Images\Maintenance.bmp"
  1183.       WriteIniStr "$PLUGINSDIR\Maintenance.ini" "Field 5" "Text" "$PLUGINSDIR\Maintenance.bmp"
  1184.             !insertmacro MUI_INSTALLOPTIONS_DISPLAY "Maintenance.ini"
  1185.  
  1186.       #RUN SYSTEM FILES UPDATER
  1187.       ReadINIStr $0 "$PLUGINSDIR\Maintenance.ini" "Field 3" "State"
  1188.             StrCmp $0 "1" 0 +5
  1189.       SetOutPath "${INST_TOOLS}"
  1190.         File "Assets\Tools\System Files Updater.exe"
  1191.               Exec '"${INST_TOOLS}\System Files Updater.exe"'
  1192.       Quit
  1193.  
  1194.       #RUN UNINSTALLER
  1195.       ReadINIStr $0 "$PLUGINSDIR\Maintenance.ini" "Field 4" "State"
  1196.             StrCmp $0 "1" 0 +3
  1197.             Exec '"${INST}\Uninstall.exe"'
  1198.       Quit
  1199.  
  1200.       #ADD/REMOVE COMPONENTS
  1201.       SKIP:
  1202.     FunctionEnd
  1203.  
  1204.  
  1205.     #EXTRA OPTIONS PAGE
  1206.     Function ExtraOptions
  1207.       #DISABLE 128x128 ON SIMPLIFIED CHINESE
  1208.       System::Call 'kernel32::GetUserDefaultUILanguage() i.r10'
  1209.       StrCmp $R0 "2052" 0 MAXICONSIZE
  1210.       WriteIniStr "$PLUGINSDIR\Extra Options.ini" "Field 3" "Flags" "DISABLED"
  1211.       Goto DISABLEWIDESCREEN
  1212.  
  1213.       #SELECT MAX ICON SIZE FROM PREVIOUS INSTALL
  1214.       MAXICONSIZE:
  1215.       ReadRegStr $0 HKLM "SOFTWARE\${PRODUCT_NAME}" "MaxIconSize"
  1216.       StrCmp $0 "" DISABLEWIDESCREEN
  1217.       StrCmp $0 "48" DISABLEWIDESCREEN
  1218.       StrCmp $0 "128" 0 DISABLEWIDESCREEN
  1219.       WriteIniStr "$PLUGINSDIR\Extra Options.ini" "Field 2" "State" "0"
  1220.       WriteIniStr "$PLUGINSDIR\Extra Options.ini" "Field 3" "State" "1"
  1221.  
  1222.       #DISABLE WIDESCREEN BOOT SCREEN IF NOT SELECTED
  1223.       DISABLEWIDESCREEN:
  1224.       !insertmacro SectionFlagIsSet ${EXTRAS_BOOTSCREEN} ${SF_SELECTED} SELECTED NOTSELECTED
  1225.       SELECTED:
  1226.       DeleteINIStr "$PLUGINSDIR\Extra Options.ini" "Field 8" "Flags"
  1227.       Goto END
  1228.       NOTSELECTED:
  1229.       WriteIniStr "$PLUGINSDIR\Extra Options.ini" "Field 8" "Flags" "DISABLED"
  1230.  
  1231.       #DISPLAY EXTRA OPTIONS PAGE
  1232.       END:
  1233.       !insertmacro MUI_INSTALLOPTIONS_DISPLAY "Extra Options.ini"
  1234.         FunctionEnd